---
title: "Режимы Рендеринга"
i18nReady: true
---

import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro';
import RecipeLinks from '~/components/RecipeLinks.astro';

Для отображения в Интернете код вашего проекта Astro должен быть **отрендерен** в HTML. 

Страницы Astro, маршруты и конечные точки API могут быть либо [предварительно отрендерены на этапе сборки](#пререндеренные), либо [отрендерены сервером](#рендеринг-по-запросу) при запросе пути. С [Островами Astro](/ru/concepts/islands/) вы также можете включить рендеринг на стороне клиента, если это необходимо.

В Astro большая часть обработки происходит на сервере, а не в браузере. Это обычно делает ваш сайт или приложение быстрее при просмотре на менее мощных устройствах или при медленном интернет-соединении, чем рендеринг на стороне клиента. Серверный рендеринг HTML быстр, SEO-дружелюбен и доступен по умолчанию.

## Режимы `output` сервера

В конфигурации [`output`](/ru/reference/configuration-reference/#output) вы можете настроить, как будут отображаться ваши страницы.

### Пререндеренные

**По умолчанию используется режим рендеринга __`output: 'static'`__**, который создает HTML для всех маршрутов вашей страницы на этапе сборки.

В этом режиме **весь ваш сайт будет предварительно отрендерен**, и сервер создаст все страницы заранее и подготовит их к отправке в браузер. Один и тот же HTML-документ отправляется в браузер для каждого посетителя, и для обновления содержимого страницы требуется полная пересборка сайта. Этот метод также известен как **статическая генерация сайта (SSG)**. 

По умолчанию все проекты Astro настроены на предварительный рендеринг на этапе сборки (статическое генерирование), чтобы обеспечить наиболее легкую работу браузера. Браузеру не нужно ждать, пока соберется HTML, потому что серверу не нужно генерировать страницы по запросу. Ваш сайт не зависит от производительности источника данных на бэкэнде, и после создания остается доступным для посетителей в виде статического сайта до тех пор, пока функционирует ваш сервер.

Статические сайты могут включать [Острова Astro](/ru/concepts/islands/) для интерактивных компонентов пользовательского интерфейса(UI) (или даже целых встроенных приложений с рендерингом на стороне клиента!), написанных на [UI фреймворке по вашему выбору](/ru/guides/framework-components/) на статичной, предварительно отрендеренной странице.

[API анимации переходов](/ru/guides/view-transitions/) Astro также доступен в режиме `static` для анимации и сохранения состояния при навигации по страницам. Статические сайты также могут использовать [промежуточное ПО](/ru/guides/middleware/) для перехвата и преобразования данных ответа на запрос.

:::tip
Режим `static` в Astro - это мощный, современный выбор для сайтов с большим количеством контента, которые обновляются редко и отображают одно и то же содержимое страницы для всех посетителей.
:::

### Рендеринг по запросу

Два других режима вывода Astro могут быть настроены для **рендеринга по запросу некоторых или всех ваших страниц, маршрутов или конечных точек API**:
  - __`output: 'server'`__ для высокодинамичных сайтов с большинством или всеми маршрутами по запросу.
  - __`output: 'hybrid'`__ для преимущественно статичных сайтов с некоторыми маршрутами по запросу.

Поскольку они генерируются при каждом посещении, эти маршруты могут быть настроены индивидуально для каждого пользователя. Например, страница, созданная по запросу, может показать вошедшему пользователю его учётные данные или отобразить свежие данные без необходимости полной пересборки всего сайта. Рендеринг по запросу на сервере во время обращения к нему также известен как **рендеринг на стороне сервера (SSR)**.

[Рассмотрите возможность включения режима `server` или `hybrid`](/ru/guides/server-side-rendering/#enable-on-demand-server-rendering) в вашем проекте Astro, если вам нужно следующее:

- **Конечные точки API**: Создание конкретных страниц, которые функционируют как конечные точки API для таких задач, как доступ к базе данных, аутентификация и авторизация, при этом скрывая конфиденциальные данные от клиента.

- **Защищенные страницы**: Ограничьте доступ к странице на основе прав пользователя, обрабатывая доступ пользователей на сервере.

- **Часто изменяемый контент**: Генерируйте отдельные страницы без необходимости статической пересборки сайта. Это полезно, когда содержимое страницы часто обновляется, например, для отображения данных из API, вызываемых динамически с помощью `fetch()`.

Оба режима `server` и `hybrid` позволяют включать [острова Astro](/ru/concepts/islands/) для интерактивности (или даже целые встроенные приложения с рендерингом на стороне клиента!) в выбранные вами [UI-фреймворки](/ru/guides/framework-components/). Высокоинтерактивные приложения возможны с [промежуточным ПО](/ru/guides/middleware/) и [API анимации переходов](/ru/guides/view-transitions/) Astro для анимации и сохранения состояния при навигации по маршрутам.

:::tip
Рендеринг на сервере по запросу в Astro обеспечивает подлинный опыт работы с приложениями без чрезмерного использования JavaScript, присущего клиентскому одностраничному приложению.
:::
